package com.hyp.utils;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;
@Component
public class AliOSSUtils {
    private String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
    private  String accessKeyId = "LTAI5t8q9V5qzwfxAQxsuaeg";
    private String accessKeySecret = "ByfofOZfcHoMemLi3ZEgrZWizauun8";
    private String bucketName = "myproject-prodction-img";

//   实现上传图片到oss
    public String upload(MultipartFile file) throws IOException{
        //获取上传的文件的输出流
        InputStream inputStream = file.getInputStream();
        //避免文件覆盖
        String originalFilename=file.getOriginalFilename();
        String fileName = UUID.randomUUID().toString()+originalFilename.substring(originalFilename.lastIndexOf("."));
        //上传文件到OSS
        OSS ossClient = new OSSClientBuilder().build(endpoint,accessKeyId,accessKeySecret);
        ossClient.putObject(bucketName,fileName,inputStream);
        //文件访问路径
        String[] parts = endpoint.split("//");
        String protocol = parts[0];
        String domain = parts[1];
        String url = protocol + "//" + bucketName + "." + domain + "/" + fileName;
        //关闭ossClient
        ossClient.shutdown();
        return url;//把上传到oss的路径返回
    }
}
